<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>flex布局</title>

    <style>
      .box {
        width: 500px;
        height: 600px;
        border: 1px solid grey;
        display: flex;
        /* flex-wrap: wrap; */
        /* justify-content: space-around; */
        /* align-content: flex-end; */
        justify-content: space-between;
      }

      .box div {
        background: red;
        width: 100px;
        height: 100px;
        /* order: 1; */
        /* flex: 1; */
        /* align-self: center; */
        display: flex;
        justify-content: center;
        align-items: center;
      }

      .isShow {
        /* display: none; */
        visibility: hidden;
      }
    </style>
  </head>
  <body>
    <!-- 
        概念：采用 Flex 布局的元素，称为 Flex 容器（flex container），简称"容器"。
             它的所有子元素自动成为容器成员，称为 Flex 项目（flex item），简称"项目"。 
        网址：http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
     -->

    <!--
          容器属性：
          flex-direction：决定主轴的方向（即项目的排列方向）。
              - flex-direction: row | row-reverse | column | column-reverse;
          flex-wrap：默认情况下，项目都排在一条线（又称"轴线"）上。flex-wrap属性定义，如果一条轴线排不下，如何换行。
              - flex-wrap: nowrap | wrap | wrap-reverse;
          flex-flow：是flex-direction属性和flex-wrap属性的简写形式，默认值为row nowrap。
          justify-content：定义了项目在主轴上的对齐方式
              - justify-content: flex-start | flex-end | center | space-between | space-around;
          align-items：定义项目在交叉轴上如何对齐。

          项目的属性:
          order：定义项目的排列顺序。数值越小，排列越靠前，默认为0。
              - order: <integer>;
          flex-grow：定义项目的放大比例，默认为0，即如果存在剩余空间，也不放大。
              - flex-grow: <number>; /* default 0 */ 
              如果所有项目的flex-grow属性都为1，则它们将等分剩余空间（如果有的话）。
              如果一个项目的flex-grow属性为2，其他项目都为1，则前者占据的剩余空间将比其他项多一倍。
          flex-shrink：定义了项目的缩小比例，默认为1，即如果空间不足，该项目将缩小。
              - flex-shrink: <number>; /* default 1 */
          flex-basis：定义了在分配多余空间之前，项目占据的主轴空间（main size）。
                      浏览器根据这个属性，计算主轴是否有多余空间。它的默认值为auto，即项目的本来大小。
              -  flex-basis: <length> | auto; /* default auto */
          flex：是flex-grow, flex-shrink 和 flex-basis的简写，默认值为0 1 auto。后两个属性可选。
              - flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
          align-self：允许单个项目有与其他项目不一样的对齐方式，可覆盖align-items属性。默认值为auto，
                      表示继承父元素的align-items属性，如果没有父元素，则等同于stretch
              - align-self: auto | flex-start | flex-end | center | baseline | stretch;
     -->
    <div class="box">
      <div class="one">1</div>
      <div class="two">2</div>
      <div>3</div>
      <!-- <div>4</div> -->
      <!-- <div>5</div>
      <div>6</div>
      <div>7</div> -->
    </div>
  </body>
</html>
